D2: Recent Advances in Probabilistic Programming

Seminar

Probabilistic programming is simply programming with probabilities. It can be used in the context of artificial intelligence or machine learning. Or more concretely, to perform random choices and then ask what the probability of certain results is: For example consider a program:

var x: Bool = flipCoin();
var y: Bool = flipCoin();

and then consider asking to infer the probability of x==y. (should be 50%)

Here are a number of recent papers on probabilistic programming. They vary from pragmatics to theory much. We will pick together in the first meeting on of these and forget the others.

If we pick a pragmatic one, you should write a program in it, explain the language based on your program, and then find other recent papers that do something similar and compare it with. If we pick a more theoretical one, you should first find similar usable language or library to write a program in, write one and and explain the general concept of probabilistic programming with it, and then compare that to the theories expressed in the paper:

References